iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Python

進擊的Python系列 第 29

Day26-Tkinter(米可)

  • 分享至 

  • xImage
  •  

大家好!我是米可~我分享Tkinter

https://ithelp.ithome.com.tw/upload/images/20240828/20163257Wh07tXt4SI.jpg
圖片來源:(https://www.dcard.tw/f/acg/p/240250599)

https://ithelp.ithome.com.tw/upload/images/20240828/20163257fBUxN1b4A0.png
圖片來源:(https://www.linkedin.com/pulse/painting-interactive-worlds-pythons-tkinter-unleash-your-shekhar-8txtc)

Tkinter

Tkinter 是 Python 的標準 GUI(圖形使用者介面)庫,提供一種簡單而直觀的方法來創建桌面應用程式,Tkinter 介面使用 Tcl/Tk 工具包,這是一個廣泛使用的 GUI 工具包

為什麼選擇Tkinter?

  • 簡單易學:Tkinter語法相對簡單,易於上手,特別適合 Python 初學者
  • 跨平台:Tkinter開發應用程式可以在 Windows、macOS 和 Linux 等多種作業系統上運行
  • 豐富的元件:Tkinter提供各種常用的 GUI 元件,例如:按鈕、標籤、輸入框、選單,可以滿足大多數的 GUI 應用開發需求
  • Python標準庫:是 Python 標準庫,不需要額外安裝,可以直接使用

常用元件與用法

Label 顯示文本
Button 觸發事件
Entry 輸入文本
Text 顯示多行文本
Canvas 畫布繪圖
Frame 組織其他元件
Menu 創建菜單
Messagebox 消息框顯示提示信息或警告

Tkinter範例

import tkinter as tk

# 創建一個主視窗
window = tk.Tk()
window.title("我的第一個 Tkinter 程式")

# 創建一個標籤
label = tk.Label(window, text="Hello, Tkinter!")
label.pack()

# 啟動事件循環
window.mainloop()

程式碼解釋

  • import tkinter as tk:導入 Tkinter 模組並給它一個別名 tk
  • window = tk.Tk():創建一個 Tkinter 主視窗
  • window.title("我的第一個 Tkinter 程式"):設置視窗標題
  • label = tk.Label(window, text="Hello, Tkinter!"):創建一個標籤,顯示文字 "Hello, Tkinter!"
  • label.pack():將標籤放置在視窗中
  • window.mainloop():啟動事件循環,讓程式一直運行,直到關閉視窗

簡單計算機

import tkinter as tk

def calculate():
    num1 = float(entry1.get())
    num2 = float(entry2.get())
    result = num1 + num2
    label_result.config(text="結果:" + str(result))

window = tk.Tk()
window.title("簡單計算機")

label1 = tk.Label(window, text="數字1:")
label1.pack()
entry1 = tk.Entry(window)
entry1.pack()

label2 = tk.Label(window, text="數字2:")
label2.pack()
entry2 = tk.Entry(window)
entry2.pack()

button = tk.Button(window, text="計算", command=calculate)
button.pack()

label_result = tk.Label(window, text="結果:")
label_result.pack()

window.mainloop()

結論

Tkinter 是 Python 構建 GUI 應用程式的絕佳選擇。通過學習基本的元件和布局管理,可以創建出功能豐富的桌面應用程式


上一篇
Day25-SciPy(艾爾文)
下一篇
Day27-PyQT(賈碧、法爾柯)
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言